package com.xzmzhp.service.maintain.impl;

import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.xzmzhp.dao.maintain.LendImgsMapper;
import com.xzmzhp.pojo.maintain.LendImgs;
import com.xzmzhp.service.maintain.LendImgsService;
import com.xzmzhp.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Collections;
import java.util.List;

/**
 * @author: 王源(xm)
 * @create: 2022-04-24 18:37
 * @program: ams
 * @description: 借出记录逻辑实现类
 */
@Service
public class LendImgsServiceImpl implements LendImgsService {

    @Autowired
    private LendImgsMapper lendImgsMapper;

    /**
     * 根据借出记录图片id查询数据
     * @param id 借出记录图片id
     * @return 借出记录图片信息
     */
    @Override
    public LendImgs findLendImgsById(Integer id) {
        if (StringUtils.isNotNull(id)){
            return lendImgsMapper.selectById(id);
        }
        return null;
    }

    /**
     * 根据借出记录id查询数据
     * @param lendId 借出记录id
     * @return 借出记录图片信息
     */
    @Override
    public List<LendImgs> findLendImgsByLendId(Integer lendId) {
        if (StringUtils.isNull(lendId)){
            //创建一个QueryWrapper的对象
            QueryWrapper<LendImgs> wrapper = new QueryWrapper<>();
            //通过QueryWrapper设置条件
            //第一个参数是字段的名称 ， 第二个参数是设置的值
            wrapper.eq("lend_id" , lendId);
            return lendImgsMapper.selectList(wrapper);
        }
        return Collections.emptyList();
    }

    /**
     * 添加借出记录图片信息
     * @param lendImg 借出记录图片信息
     * @return 是否成功
     */
    @Override
    public Integer addLendImgs(LendImgs lendImg) {
        if (StringUtils.isNotNull(lendImg)){
            return lendImgsMapper.insert(lendImg);
        }
        return null;
    }

    /**
     * 批量添加借出记录图片信息
     * @param lendImgs 借出记录图片信息
     * @return 是否成功
     */
    @Override
    public Integer addLendImgs(List<LendImgs> lendImgs) {
        if (CollUtil.isNotEmpty(lendImgs)){
            return lendImgsMapper.addLendImgs(lendImgs);
        }
        return null;
    }

    /**
     * 修改借出记录图片信息
     * @param lendImgs 借出记录图片信息
     * @return 是否成功
     */
    @Override
    public Integer exitLendImgs(LendImgs lendImgs) {
        if (StringUtils.isNotNull(lendImgs)){
            return lendImgsMapper.updateById(lendImgs);
        }
        return null;
    }

    /**
     * 删除借出记录图片信息
     * @param id 借出记录图片id
     * @return 是否成功
     */
    @Override
    public Integer delLendImgs(Integer id) {
        if (StringUtils.isNotNull(id)){
            return lendImgsMapper.deleteById(id);
        }
        return null;
    }

    /**
     * 根据借出记录id删除借出记录图片信息
     * @param lendId 借出记录id
     * @return 是否成功
     */
    @Override
    public Integer delLendImgsByLendId(Integer lendId) {
        if (StringUtils.isNotNull(lendId)){
            //创建一个QueryWrapper的对象
            QueryWrapper<LendImgs> wrapper = new QueryWrapper<>();
            //通过QueryWrapper设置条件
            wrapper.eq("lend_id" , lendId);
            return lendImgsMapper.delete(wrapper);
        }
        return null;
    }
}
